/**
 * 生成指定区间的随机数
 * =============================================================
 * @param min
 * @param max
 * @returns {number}
 */
export const random = (min, max) => {
  return parseInt(Math.random() * (min - max + 1) + max, 10);
};

/**
 * 四舍六入
 * @param {Number} num  - 小数
 * @param {Number} decimalPlaces   - 截取位数
 * @returns {number}
 * 四舍六入规则:
    四舍六入五考虑，
    五后非零就进一，
    五后皆零看奇偶，
    五前为偶应舍去，
    五前为奇要进一。
 */
export function evenRound(num, decimalPlaces) {
  let d = decimalPlaces || 0;
  let m = Math.pow(10, d);
  let n = +(d ? num * m : num).toFixed(8);
  let i = Math.floor(n);
  let f = n - i;
  let e = 1e-8;
  let r = f > 0.5 - e && f < 0.5 + e ? (i % 2 == 0 ? i : i + 1) : Math.round(n);
  return d ? r / m : r;
}

//处理0.3，0.6的二进制问题
export function numTofixed(num) {
  if (typeof num == "number") {
    num = parseFloat(num.toFixed(10));
  }
  return num;
}